In a digital system, signals typically take on one of two values, i.e., high or low, depending on the voltage level of the signal. Ideally, digital signals do not depart significantly from their expected voltage levels, but in practice digital systems usually operate under noisy conditions where there are signals unrelated to the signal of interest. In some cases, the noise level can be so large that false switching occurs, resulting in a meta-stable environment in which a digital low signal appears as a digital high signal, or vice-versa.
A common approach to eliminating or reducing the effects of noise in a digital system is to employ logic circuitry in which the output voltage as a function of input voltage, i.e., the voltage transfer characteristic (VTC), uses a hysteresis detection scheme instead of a single (or fixed) trip point detection scheme. In a VTC with hysteresis, there are two different logic trip points at which the output changes state: an upper trip point (VT+) for low level input signals that are rising, and a lower trip point (VT−) for high level input signals that are falling. In between the logic trip points, a deadband region exists. The width of the deadband region in the VTC is referred to as the hysteresis voltage and equals VT+−VT−.
In digital technology, an input detected using hysteresis is generally referred to as a Schmitt-triggered input, and a circuit which uses such detection as a Schmitt trigger circuit. Schmitt trigger circuits typically use regenerative, i.e., positive, feedback to convert a noisy or slow-changing input signal into a clean, sharply changing digital output signal. Schmitt triggers are commonly employed in various types of logic circuits, simple examples of which are inverting and non-inverting buffers. Due to the hysteresis characteristic of a Schmitt trigger circuit, once the input crosses a trip point and causes the output state to change, any noise in the input will not affect the output logic state as long as noise pulses are smaller than the hysteresis voltage. In contrast, in a single (i.e., fixed) trip point circuit, the output may undesirably switch states several times when the input is near the trip point level, even in the presence of only small noise pulses. A Schmitt trigger's hysteresis voltage, VT+−VT−, thus provides a noise margin indicative of the amount of noise that can be tolerated without registering false output states. It is generally desirable for the noise margin to be large. However, if the upper trip point voltage is set too high and/or the lower trip point voltage is set too low, actual input voltage transitions may be unduly delayed at the output or, worse yet, not recognized at all.
The hysteresis voltage (i.e., noise margin) and the specific trip point voltages VT+ and VT− of a Schmitt trigger circuit are dependent on the power supply voltage VCC driving the circuit. For a given VCC level, a Schmitt trigger circuit can be designed to provide a desired hysteresis voltage and trip point voltages. However, in many digital circuits such as programmable logic devices, the VCC level may vary considerably depending on the application. For instance, Schmitt trigger circuits are commonly used in input/output (I/O) circuit applications where a VCC_IO supply may vary from 1.5 V to 5.0 V depending on the logic family and I/O standard being used. If a Schmitt trigger circuit is designed to operate for a given VCC voltage, when the value of VCC changes by a significant amount, the hysteresis voltage and specific trip point voltage levels may no longer satisfy desired noise margin, delay, and input recognition criteria. Consequently, there is a need for a Schmitt trigger circuit that can meet desired hysteresis criteria at more than one VCC voltage level.